/*
 * =====================================================================================
 *
 *       Filename:  iowr.c 
 *
 *    Description:  几个屏幕打印函数
 *
 *        Version:  1.0
 *        Created:  2014年11月30日
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  shao,banana family 
 *        Company:  GrenTech
 *            log:  2014.12.2 修改 注释Filename:  iowr.c  
 *              
 * =====================================================================================
 */

#include "iowr.h"

// 端口写一个字节
inline void outb(uint16_t port, uint8_t value)
{
    asm volatile ("outb %1, %0" : : "dN" (port), "a" (value));
}

// 端口读一个字节
inline uint8_t inb(uint16_t port)
{
	uint8_t ret;

	asm volatile("inb %1, %0" : "=a" (ret) : "dN" (port));

	return ret;
}

// 端口读一个字
inline uint16_t inw(uint16_t port)
{
	uint16_t ret;

	asm volatile ("inw %1, %0" : "=a" (ret) : "dN" (port));

	return ret;
}